﻿Public Class Hechizo

    Public Property Nombre As String
    Public Property Coste As Integer

    Public Sub New(ByVal nombre As String)
        Me.Nombre = nombre
    End Sub

    Public Sub BolaFuego(ByVal Objetivo As Batallon, ByVal Magia As Integer, ByVal Posicion As Point)
        Dim dado As New Dado
        Dim suma, daño As Integer
        If CalcularAlcance(2, Posicion, Objetivo.Localizacion) = True Then
            suma = Math.Truncate((dado.lanzar + dado.lanzar + Magia) / 2)
            daño = suma - Objetivo.Tropas(0).Defensa
            Eliminar(Objetivo, daño)
        End If
    End Sub

    Public Sub Debilidad(ByVal Objetivo As Batallon, ByVal Posicion As Point)
        If CalcularAlcance(3, Posicion, Objetivo.Localizacion) = True Then
            For Each enemigo In Objetivo.Tropas
                enemigo.Ataque -= 2
                enemigo.Fuerza -= 2
            Next
        End If
    End Sub

    Public Function Teleportar(ByVal posicionactual As Point, ByVal posicionfinal As Point) As Point
        If CalcularAlcance(7, posicionactual, posicionfinal) = True Then
            posicionactual = posicionfinal
        End If
        Return posicionactual
    End Function

    Public Sub Meteorito(ByVal Objetivo As Batallon, ByVal Posicion As Point, ByVal Magia As Integer)
        Dim dado As New Dado
        Dim suma, daño As Integer
        If CalcularAlcance(3, Posicion, Objetivo.Localizacion) = True Then
            suma = dado.lanzar + dado.lanzar + Magia
            daño = suma - Objetivo.Tropas(0).Defensa
            Eliminar(Objetivo, daño)
        End If
    End Sub

End Class
